home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
045a
/
btp15.zip
/
README.1ST
< prev
next >
Wrap
Text File
|
1991-11-09
|
9KB
|
151 lines
BTP - The Btrieve Unit for Turbo Pascal 6.0 (C) 1991 John C. Leon
(* ------------------------------------------------------------------------ *)
Version 1.5, 11/9/91
** DISCLAIMER AND LICENSE ***************************************************
This unit was authored by and is the copyrighted property of John C. Leon.
It is supplied without warranty of any kind, and without any representations
as to its usefulness or adequacy for any task. Under no circumstances does
the author take any responsiblity for loss or damage, alleged or actual,
arising from usage of this property. Use at your own risk.
THIS PRODUCT IS *NO LONGER* FREEWARE. Use of this product beyond an initial
trial period of 30 days obligates you to remit the registration fee of $25
(for a non-corporate, non-commercial license) to:
John C. Leon
3807 Wood Gardens Court
Kingwood, TX 77339
713-359-3641 (residence)
CIS #72426,2077 (Email responded to promptly)
Corporate users must contact me directly for licensing terms. Production of
a commercial product using this unit is strictly forbidden without permission
and license.
Coming soon ONLY for licensed users...a Turbo Vision based Btrieve utility
program for creating files, adding/dropping supplemental indices, reporting
stats, cloning and crunching files, etc, etc. Will be free to all registered
BTP owners.
*****************************************************************************
Pre-Requisites to Using this Software
=====================================
This unit provides a rich suite of Btrieve programming tools. However, it is
NOT an educational tool. While proven to be extremely easy to use, it is
assumed that you are familiar with Turbo Pascal 6.0, use of dynamic variables
and pointers, object-oriented programming, and Novell's Btrieve product.
BTP requires Turbo Pascal 6.0 and will NOT function with prior releases.
This unit was designed with, and has only been tested with, version 5.10a of
Btrieve, with all current patches applied. WARNING! Do NOT use with other
versions! Having said that, I have every reason to believe it will work fine
with prior versions if you don't try to use the op codes that apply to later
versions.
WHAT IT DOES!
-------------
It makes the Btrieve black box friendly!
Total support for standard, fixed-length Btrieve files, using all standard
calls and the get/step extended calls. While no specific support exists for
extended insert calls, such calls can readily be made; an example of extended
insert calls is in EXAMPLE2.PAS.
Imagine opening a Btrieve file in any mode, saving a "permanent" copy of its
stats and structure, establishing and isolating its position block, and being
able to refer to all your fields by name...all with just ONE SIMPLE CALL with
only TWO PARAMETERS!!! NO BTRIEVE CALL MADE WITH THIS UNIT'S TECHNIQUES
REQUIRES MORE THAN TWO PARAMETERS (the op code and key number). This is ONLY
made possible with object-oriented programming and the encapsulation it
provides.
INCLUDED in this distribution package are several useful Btrieve utilities
that make full use of this unit. The CLONE and CRUNCHx programs, in
particular, illustrate the extraordinary ease of Btrieve programming with
BTP! The STATS program displays the same information as Novell's BUTIL
program. These utility programs alone are worth the $25 registration fee.
Further, you are authorized to distribute these compiled utilities freely
SO LONG AS YOU DO NOT MODIFY THE SOURCE CODE IN ANY WAY...INCLUDING MY
COPYRIGHT NOTICES AND NAME.
Full details on BTP are to be found in the BTP.DOC file. Aside from standard
TP6-style OOP techniques, BTP uses collections to handle a list of filter and
extractor specs for extended calls. That's as sexy as it gets. You don't
even need to understand collections...just use them as illustrated in BTP.DOC,
CRUNCH3.PAS and EXAMPLE2.PAS! BTP creates, maintains, and disposes of those
collections for you. These collections and the provided object methods will
transparently set buffer lengths for you, and construct your outgoing data
buffers for extended calls. THE SETUP DRUDGERY FOR GET/STEP EXTENDED CALLS
IS COMPLETELY REMOVED!!
It is imperative that you read the sample programs and documentation. They
are structured carefully to take you gradually from the simplest BTP
structures to the more "advanced". The best news is that even the advanced
structures are a piece of cake to deal with! The suggested order for
reviewing the programs is:
1. VERSION: Quite simply, the shortest Btrieve program possible. Just
displays a message revealing what Btrieve version is running.
2. STATS: Reports stats on any Btrieve file. Makes a single BTP style call,
after which you can immediately read the object's data fields
containing the file's stats. Is an effective replacement for
'BUTIL - STAT', and can be distributed with your applications
freely.
3. CLONE: Rivals VERSION in being about the shortest Btrieve program
possible, but is of GREAT use! Make one BTP style call, then
execute just one BTP function to create a clone of the source file!
4. CREATE1: Example of creating a new file on the fly from within your appli-
cation. Set the values in one BTP data type, and call one
function!
Included in this .ZIP file is a file named CREATE1.SPC. This is a
standard description (spec) file that can be used to create the
'EXAMPLE' Btrieve file with Btrieve's own BUTIL program.
CREATE1.SPC is provided only to demonstrate that the CreateFile
function in the BTP product does generate files that are
byte-for-byte the same as if you used 'BUTIL -create'.
5. CREATE2: Same as CREATE1, but creates the file to use an alternate
collating sequence for ordering the keys. Piece of cake w/BTP!
6. CRUNCH1: Creates a duplicate of a file, effectively "squishing" the file
to remove dead space. Opens source file in read-only mode,
creates the target file and opens it in accelerated mode. Reads
records one at time from source file, inserts them one at a time
into target file. Uses non-extended calls exclusively.
7. CRUNCH2: Performs same functions as CRUNCH1, but uses extended inserts
to populate target file.
8. CRUNCH3: Performs same functions as CRUNCH1, but uses step next extended
and extended inserts.
9. EXAMPLE1:A simple program using BTP to insert records into a file of names.
Provided only to illustrate use of BTP and several Btrieve calls.
10.EXAMPLE2:Another simple program using BTP with extended calls. Provided
only to illustrate syntax of initializing filter and extractor
specs for extended calls, and required function overrides.
ADDITIONAL BTP FEATURES
=======================
The BTP unit provides an initialization section that checks for presence of
Btrieve in memory before running your main program. You need never code such
a test yourself again. Just 'USES' this unit, and you're covered.
The universal Btrv function call IS INCLUDED in the BTP unit. When using
BTP, do NOT include the call from any other source. It is used internally
by BTP, and is available directly in its 'native' form if needed, exactly as
defined on the Btrieve distribution disks from Novell.
Pascal's features have made it a pleasure to code this unit. The inherent
capabilities of Pascal records, in all their forms, have greatly facilitated
what at first seemed a VERY difficult task. The power and flexibility
afforded by OOP's encapsulation and inheritance have reduced quick and dirty
Btrieve programming to what it should be...quick (but not dirty!). Examine
the unit's source code and the example programs carefully. You should find
everything there you'll ever need. If it ain't there, let me know and we'll
make 'er better!
The DOTPC.BAT file is provided for your convenience. Assuming the command
line compiler, TPC.EXE, and a properly configured TPC.CFG file are in your
path, you can run DOTPC to compile BTP and all the example programs quickly.
ENJOY! Constructive criticism and suggestions welcome.